#ifndef ACCOUNTGETPROFILERESPONSE_H
#define ACCOUNTGETPROFILERESPONSE_H

#include "network/networkjsonlistresponse.h"
#include <QMap>
#include <QObject>
namespace Account {

class ProfileResponse : public Network::JSONResponse
{
    Q_OBJECT
public:
    ProfileResponse(QObject *parent = 0);

    Network::Response::Type type() const;
    inline int userId() const {
        return m_userId;
    }

    inline QString email() const {
        return m_email;
    }

    inline const QString &displayName() const {
        return m_displayName;
    }

    inline const QString &userName() const {
        return m_userName;
    }

    inline const QString &profileUrl() const {
        return m_profileUrl;
    }

    inline const QString &avatar() const {
        return m_avatar;
    }

    inline const QList<QString> &mobile() const {
        return m_mobi;
    }

    inline int gender() const {
        return m_gender;
    }

    inline const QString &firstName() const {
        return m_firstName;
    }

    inline const QString &lastName() const {
        return m_lastName;
    }

    inline const QString &googleId() const {
        return m_googleId;
    }

    inline const QString &yahooId() const {
        return m_yahooID;
    }

    inline const QString &city() const {
        return m_city;
    }

    inline const QString &birthday() const {
        return m_birthday;
    }

    void setProfile(int _userId,
                    QString _email,
                    QString _displayName,
                    QString _userName,
                    QString _profileUrl,
                    QString _avatar,
                    QList<QString> _mobi,
                    int _gender,
                    QString _firstName,
                    QString _lastName,
                    QString _googleId,
                    QString _yahooID,
                    QString _city,
                    QString _birthday) {
        m_userId = _userId;
        m_email = _email;
        m_displayName = _displayName;
        m_userName = _userName;
        m_profileUrl = _profileUrl;
        m_avatar = _avatar;
        m_mobi = _mobi;
        m_gender = _gender;
        m_firstName = _firstName;
        m_lastName = _lastName;
        m_googleId = _googleId;
        m_yahooID = _yahooID;
        m_city = _city;
        m_birthday = _birthday;
    }

private:
    void parse(const QVariant &data);

    int m_userId;
    QString m_email;
    QString m_displayName;
    QString m_userName;
    QString m_profileUrl;
    QString m_avatar;
    QList<QString> m_mobi;
    int m_gender;
    QString m_firstName;
    QString m_lastName;
    QString m_googleId;
    QString m_yahooID;
    QString m_city;
    QString m_birthday;

};

}

#endif // ACCOUNTGETPROFILERESPONSE_H
